Attribute Dependencies
About Attribute Dependencies
If two Drop-Down List or Multi-Select List attributes are logically related, you can create an attribute dependency to link them. In an attribute dependency, the value selected for the first attribute (the controlling attribute) determines which values can be selected in the second attribute (the dependent attribute). In effect, the controlling attribute's value acts as a filter for the dependent attribute: when a value is selected for the controlling attribute, the dependent attribute displays a filtered list of options that are valid for the controlling attribute's value.
Attribute dependencies help to protect the integrity of your data by ensuring that users select valid value combinations. They are also useful for attributes that have a very large number of values: dependencies make it much easier for users to select a value, because they limit the number of options that are displayed.
Example
A common use case for attribute dependencies is for attributes with hierarchical relationships, such as geographic categories like State and City. Since City is a subcategory of State, only value combinations where the selected city is in the selected state are valid: for example, if State is set to California, setting City to Miami would not be valid.
If you set up an attribute dependency in which State is the controlling attribute and City is the dependent attribute, users would not be able to select Miami when the State attribute is already set to California. Instead, the City attribute would only display options for cities that are actually located in the selected state (i.e. Los Angeles, San Francisco, etc.).
End User Experience
When a user creates or edits an activity in Uptempo, attributes that are part of a dependency are marked with icons that identify the controlling and dependent attributes.
On mouseover, each icon displays a tooltip that describes the attribute's relationship with the other attribute in the dependency:
When the user opens the dependent attribute list, the list only displays options that are valid for the option selected in the controlling attribute. If no value has been selected for the controlling attribute yet, then the dependent attribute will not display any list options.
Note
If a dependent attribute only has one valid value, it will not be set automatically — users must still select the value manually. Additionally, the dependent attribute field is always displayed, even if no valid options are available.
Create an Attribute Dependency
You can create an attribute dependency between two attributes that meet the following requirements:
-
Only List-Type attributes: Both attributes must have the attribute type Drop-Down List or Multi-Select List.
-
Attributes must exist on the same activity type: You can only set an attribute as the dependent attribute if it is used on at least one activity type where the controlling attribute is also used. It's not possible to create a dependency across activity levels, i.e. you can't set an attribute on a parent activity control a dependent attribute on a child activity (or vice-versa).
-
Attributes can't be set as required: Both the controlling attribute and the dependent attribute must be non-required attributes.
Note
Dependencies between attributes take effect on all activity types where both of the attributes involved in the dependency are present. If you need to make a dependency exclusive to a specific activity type, you can create new attributes that are used only on that activity type, then create a dependency between them.
Tip: Create Multi-Level Dependencies
You can create multi-level dependencies by "chaining" multiple dependencies together, e.g. you can chain a Country-State dependency with a State-City dependency to create a three-level Country-State-City dependency.
In multi-level dependencies, the available options for an attribute at each level are determined by the selected option for the attribute at the next level above it, starting with the top-level controlling attribute in the chain. For example, the selected option for Country determines the options available for State, which in turn determines the options available for City.
To chain dependencies, set the shared or "middle" attribute (e.g. State) between two dependencies as both the dependent attribute of the top-level attribute, and the controlling attribute of the bottom-level attribute. In the Country-State-City example, State would be the dependent attribute of Country, and the controlling attribute of City.
To set up a new attribute dependency, follow these steps:
-
In the Uptempo navigation menu, click
Activities.
-
In the Activities section, click
Settings.
The Activity Configuration page opens.
-
On the Activity Configuration page, click Attributes > Attribute Dependencies.
The Attribute Dependencies table is displayed.
-
Click Create Dependency.
The Create Dependency dialog opens.
-
Use the Controlling Attribute list to select the attribute whose value controls the available selections in the second (dependent) attribute.
-
You can type into the Controlling Attribute list field to search for attributes by keyword.
The selected attribute's list options are shown in the Controlling Options table, and the Dependent Attribute list activates.
-
-
Use the Dependent Attribute list to select the attribute whose available selections are controlled by the first (controlling) attribute.
-
You can type into the Dependent Attribute list field to search for attributes by keyword.
The selected attribute's list options are shown in the Dependent Options table.
Note:
To appear in the Dependent Attribute list, an attribute must be both (a) a Drop-Down List or Multi-Select List and (b) used alongside the selected controlling attribute on at least one activity type.
If there are no attributes that meet both requirements, the Dependent Attribute list remains deactivated, and the selected controlling attribute can't be used to create a dependency.
-
-
In the Controlling Options table, click a list option to select it.
The selected controlling list option is highlighted.
-
In the Dependent Options table, click on a list option to select it and set it as valid for the selected controlling list option.
-
The dependent list options you select here determine which list options are shown to users in the dependent attribute field when the specified controlling list option is selected.
-
You can select one, multiple, all, or no dependent list options for any controlling list option.
-
It is not mandatory to select dependent list options for every controlling list option. If no dependent list options are selected for a controlling list option, users who choose that controlling list option will not be able to set any value for the dependent attribute.
-
For long option lists, use the Search Dependent Options box to search for dependent list options by keyword. To only view dependent list options you have already selected, turn on the Show only selected options setting.
The selected dependent list options are highlighted.
-
-
Repeat steps 7 and 8 for each controlling list option for which you want to select dependent list options. In the Controlling Options table, the # column displays the number of currently selected dependent list options for each controlling list option.
-
Optional: Enter a brief description of the attribute dependency into the Description field. This description text is shown in the Attribute Dependencies table (Settings > Attributes > Attribute Dependencies).
-
Click Save, then click Save Changes to finish creating the new attribute dependency.
Important
When you create a new attribute dependency, this may affect the values currently set in the dependent attribute on existing activities. If an activity has an existing value in the dependent attribute that is not valid under the new dependency, the will be removed (set as empty/blank).
The Create Dependency dialog closes. Your new attribute dependency is displayed in the Attribute Dependencies table, which also shows the number of activity types that use the new attribute dependency under the # Activity Types column.
You have successfully created an attribute dependency.
Edit an Attribute Dependency
After an attribute dependency has been created, you can edit it at any time to modify the dependent list options that are selected for each controlling list option.
Note
When an attribute dependency is created, the selected controlling and dependent attributes are fixed, and can't be changed later. If you need to change either of these attributes for an existing attribute dependency, create a new attribute dependency instead.
To edit an existing attribute dependency's dependent list options, follow these steps:
-
In the Uptempo navigation menu, click
Activities.
-
In the Activities section, click
Settings.
The Activity Configuration page opens.
-
On the Activity Configuration page, click Attributes > Attribute Dependencies.
The Attribute Dependencies table is displayed.
-
In the table, find the attribute dependency you want to edit and click
Edit.
The Dependency Editor dialog opens.
-
Make changes to the dependent list options as need ed.
-
Optional: If needed you can also change the text in the Description field.
-
For detailed instructions, see Create an Attribute Dependency.
-
-
Click Save, then click Save Changes to finish editing the attribute dependency.
The Dependency Editor dialog closes, and you are returned to the Attribute Dependencies table.
You have successfully modified the dependent list options for an existing attribute dependency.
Delete an Attribute Dependency
If an attribute dependency is no longer needed, you can delete it at any time. When you delete an attribute dependency, this does not affect the actual values set in the controlling and dependent attributes on activities, and these values will remain unchanged.
Warning
Deleting an attribute dependency is permanent. You can't undo this action.
To delete an existing attribute dependency, follow these steps:
-
In the Uptempo navigation menu, click
Activities.
-
In the Activities section, click
Settings.
The Activity Configuration page opens.
-
On the Activity Configuration page, click Attributes > Attribute Dependencies.
The Attribute Dependencies table is displayed.
-
In the table, find the attribute dependency you want to edit and click
Delete.
A confirmation dialog is shown.
-
Click Delete in the confirmation dialog.
The attribute dependency is removed from the Attribute Dependencies table, and a success message is displayed to confirm that the dependency was deleted.
You have successfully deleted an attribute dependency.